/**
 * 
 */
package fr.miage.server.metier.impl;

import java.util.ArrayList;
import java.util.List;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.sun.org.apache.bcel.internal.generic.NEWARRAY;
import com.sun.xml.internal.bind.v2.runtime.unmarshaller.XsiNilLoader.Array;

import fr.miage.client.metier.categorie.CategorieBusinessService;
import fr.miage.client.metier.entite.Categorie;
import fr.miage.client.metier.entite.Produit;
import fr.miage.dao.traitements.CategorieDao;

/**
 * @author romain,kristela
 * 
 */
public class CategorieBusinessServiceImpl extends RemoteServiceServlet
		implements CategorieBusinessService {

	/**
	 * 
	 */
	private static final long serialVersionUID = -8534989633406322148L;

	/**
	 * @see fr.miage.client.metier.categorie.CategorieBusinessService#getAllCategorie()
	 */
	/**
	 * Retourne la liste de toutes les categories.
	 */
	// FIXME action temporaire
	public List<Categorie> getAllCategorie() {
		List<Categorie> laListe = new ArrayList<Categorie>();
		Categorie cate = new Categorie(1,"caté 1");
		cate.setCategorie(null);
		
		Categorie cate1 = new Categorie(2,"caté 2");
		cate.setCategorie(null);
		
		Categorie cate2 = new Categorie(3,"caté 3");
		cate.setCategorie(cate);
				
		Categorie cate3 = new Categorie(4,"caté 4");
		cate.setCategorie(cate1);
				
		laListe.add(cate);
		laListe.add(cate1);
		laListe.add(cate2);
		laListe.add(cate3);
		
		System.out.println("Test Service CategoriePersistenceService");
		System.out.println("Dans catégoriePersistenceServiceImpl, nb : "+laListe.size());
		
		//laListe = CategorieDao.selectAllCategorie();
//		for (int i = 0; i < laListe.size(); i++) {
//			Categorie cat=laListe.get(i);
//			convert(cat);
//		}
		return laListe;
	}

	
	

	public void createCategorie(Categorie categorie) {
		Categorie c = CategorieDao.selectCategorie(categorie);
		if (c == null) {
			CategorieDao.insertCategorie(categorie);
		}
	}

	public void deleteCategorie(Categorie categorie) {
		CategorieDao.deleteCategorie(categorie);

	}

	public void updateCategorie(Categorie oldCategorie, Categorie newCategorie) {
		Categorie c = CategorieDao.selectCategorie(oldCategorie);
		if (c != null && oldCategorie.getIdCate() == newCategorie.getIdCate()) {
			CategorieDao.insertCategorie(newCategorie);
		}

	}

	public Categorie getCategorie(Categorie categorie) {
		Categorie c = CategorieDao.selectCategorie(categorie);
		return c;
	}
	


	
}
